[INFO] cloning repository https://github.com/martinooliveri/rust_app
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/martinooliveri/rust_app" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmartinooliveri%2Frust_app", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmartinooliveri%2Frust_app'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b23ac8d524d4cbe5418f8e3f32cb34bc010cd7be
[INFO] fixing martinooliveri/rust_app against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmartinooliveri%2Frust_app" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/martinooliveri/rust_app
[INFO] finished tweaking git repo https://github.com/martinooliveri/rust_app
[INFO] tweaked toml for git repo https://github.com/martinooliveri/rust_app written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/martinooliveri/rust_app on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/martinooliveri/rust_app already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8
[INFO] running `Command { std: "docker" "start" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-demangle v0.1.26
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling chess v3.2.0
[INFO] [stderr]     Checking rust_app v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0583]: file not found for module `interface`
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod interface;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `interface`, create file "src/interface.rs" or "src/interface/mod.rs"
[INFO] [stdout]   = note: if there is a `mod interface` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `interface`
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod interface;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `interface`, create file "src/interface.rs" or "src/interface/mod.rs"
[INFO] [stdout]   = note: if there is a `mod interface` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `Board` is defined multiple times
[INFO] [stdout]  --> src/board.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |              ----- previous import of the type `Board` here
[INFO] [stdout] ...
[INFO] [stdout] 4 | pub struct Board {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^ `Board` redefined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Board` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board as OtherBoard, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |                    +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `Board` is defined multiple times
[INFO] [stdout]  --> src/board.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |              ----- previous import of the type `Board` here
[INFO] [stdout] ...
[INFO] [stdout] 4 | pub struct Board {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^ `Board` redefined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Board` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board as OtherBoard, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |                    +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `PieceType`
[INFO] [stdout]  --> src/moves.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use PieceType;
[INFO] [stdout]   |     ^^^^^^^^^ no external crate `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `PieceType`
[INFO] [stdout]  --> src/moves.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use PieceType;
[INFO] [stdout]   |     ^^^^^^^^^ no external crate `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `chess::MoveGenerator`
[INFO] [stdout]  --> src/moves.rs:2:57
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chess::{ Board, BoardBuilder, Piece, Square, Color, MoveGenerator};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^^ no `MoveGenerator` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `search::search_best_move`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use search::search_best_move;
[INFO] [stdout]   |     ^^^^^^^^----------------
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `search_best_move` in `search`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `chess::MoveGenerator`
[INFO] [stdout]  --> src/moves.rs:2:57
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chess::{ Board, BoardBuilder, Piece, Square, Color, MoveGenerator};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^^ no `MoveGenerator` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `search::search_best_move`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use search::search_best_move;
[INFO] [stdout]   |     ^^^^^^^^----------------
[INFO] [stdout]   |             |
[INFO] [stdout]   |             no `search_best_move` in `search`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CastlingRights` in this scope
[INFO] [stdout]  --> src/board.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     castling_rights: CastlingRights,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn make_move(&mut self, mv: Move) {
[INFO] [stdout]    |                                     ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn undo_move(&mut self, mv: Move) {
[INFO] [stdout]    |                                     ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn generate_legal_moves(&self) -> Vec<Move> {
[INFO] [stdout]    |                                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/game.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     board: Board,
[INFO] [stdout]   |            ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]  --> src/game.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     history: Vec<Move>,
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::moves::Move;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Board` in this scope
[INFO] [stdout]   --> src/game.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |             board: Board::starting_position(),
[INFO] [stdout]    |                    ^^^^^ use of undeclared type `Board`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::board::Board;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use chess::Board;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/eval.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn evaluate(board: &Board) -> i32 {
[INFO] [stdout]   |                         ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `CastlingRights` in this scope
[INFO] [stdout]  --> src/board.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     castling_rights: CastlingRights,
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn make_move(&mut self, mv: Move) {
[INFO] [stdout]    |                                     ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn undo_move(&mut self, mv: Move) {
[INFO] [stdout]    |                                     ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]   --> src/board.rs:34:47
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn generate_legal_moves(&self) -> Vec<Move> {
[INFO] [stdout]    |                                               ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::moves::Move;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/game.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     board: Board,
[INFO] [stdout]   |            ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]  --> src/game.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     history: Vec<Move>,
[INFO] [stdout]   |                  ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::moves::Move;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Board` in this scope
[INFO] [stdout]   --> src/game.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |             board: Board::starting_position(),
[INFO] [stdout]    |                    ^^^^^ use of undeclared type `Board`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::board::Board;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use chess::Board;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/eval.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn evaluate(board: &Board) -> i32 {
[INFO] [stdout]   |                         ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/search.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn search(board: &Board, depth: u8) -> Move {
[INFO] [stdout]   |                       ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]  --> src/search.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn search(board: &Board, depth: u8) -> Move {
[INFO] [stdout]   |                                            ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::moves::Move;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Color` in this scope
[INFO] [stdout]   --> src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let engine_color = Color::Black; // or Color::White
[INFO] [stdout]    |                        ^^^^^ use of undeclared type `Color`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  8 + use chess::Color;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Board`
[INFO] [stdout]  --> src/board.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoardBuilder`, `Color`, `Piece`, and `Square`
[INFO] [stdout]  --> src/moves.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chess::{ Board, BoardBuilder, Piece, Square, Color, MoveGenerator};
[INFO] [stdout]   |                     ^^^^^^^^^^^^  ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Board` in this scope
[INFO] [stdout]  --> src/search.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn search(board: &Board, depth: u8) -> Move {
[INFO] [stdout]   |                       ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::board::Board;
[INFO] [stdout]   |
[INFO] [stdout] 1 + use chess::Board;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Move` in this scope
[INFO] [stdout]  --> src/search.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn search(board: &Board, depth: u8) -> Move {
[INFO] [stdout]   |                                            ^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use crate::moves::Move;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `Color` in this scope
[INFO] [stdout]   --> src/main.rs:17:24
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let engine_color = Color::Black; // or Color::White
[INFO] [stdout]    |                        ^^^^^ use of undeclared type `Color`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  8 + use chess::Color;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Board`
[INFO] [stdout]  --> src/board.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chess::{ Board, BoardBuilder, Piece, Square, Color };
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoardBuilder`, `Color`, `Piece`, and `Square`
[INFO] [stdout]  --> src/moves.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chess::{ Board, BoardBuilder, Piece, Square, Color, MoveGenerator};
[INFO] [stdout]   |                     ^^^^^^^^^^^^  ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/board.rs:23:52
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |     -------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 23 |         let board: Board = board_builder.try_into()?;
[INFO] [stdout]    |                                                    ^ cannot use the `?` operator in a method that returns `board::Board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/board.rs:23:52
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |     -------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 23 |         let board: Board = board_builder.try_into()?;
[INFO] [stdout]    |                                                    ^ cannot use the `?` operator in a method that returns `board::Board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/board.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ---      ^^^^ expected `Board`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout] help: consider returning the local binding `board`
[INFO] [stdout]    |
[INFO] [stdout] 23 ~         let board: Board = board_builder.try_into()?;
[INFO] [stdout] 24 +         board
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/board.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ---      ^^^^ expected `Board`, found `()`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout] help: consider returning the local binding `board`
[INFO] [stdout]    |
[INFO] [stdout] 23 ~         let board: Board = board_builder.try_into()?;
[INFO] [stdout] 24 +         board
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `board::Board: TryFrom<BoardBuilder>` is not satisfied
[INFO] [stdout]   --> src/board.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let board: Board = board_builder.try_into()?;
[INFO] [stdout]    |                                          ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<BoardBuilder>` is not implemented for `board::Board`
[INFO] [stdout]   --> src/board.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Board {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `BoardBuilder` to implement `Into<board::Board>`
[INFO] [stdout]    = note: required for `board::Board` to implement `TryFrom<BoardBuilder>`
[INFO] [stdout]    = note: required for `BoardBuilder` to implement `TryInto<board::Board>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `board::Board: TryFrom<BoardBuilder>` is not satisfied
[INFO] [stdout]   --> src/board.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let board: Board = board_builder.try_into()?;
[INFO] [stdout]    |                                          ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<BoardBuilder>` is not implemented for `board::Board`
[INFO] [stdout]   --> src/board.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Board {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `BoardBuilder` to implement `Into<board::Board>`
[INFO] [stdout]    = note: required for `board::Board` to implement `TryFrom<BoardBuilder>`
[INFO] [stdout]    = note: required for `BoardBuilder` to implement `TryInto<board::Board>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/moves.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn generate_legal_moves(board: &Board) -> Vec<Move> {
[INFO] [stdout]    |        --------------------                   ^^^^^^^^^ expected `Vec<Move>`, found `()`
[INFO] [stdout]    |        |
[INFO] [stdout]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Move>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/moves.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn generate_legal_moves(board: &Board) -> Vec<Move> {
[INFO] [stdout]    |        --------------------                   ^^^^^^^^^ expected `Vec<Move>`, found `()`
[INFO] [stdout]    |        |
[INFO] [stdout]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<Move>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `is_game_over` in initializer of `game::Game`
[INFO] [stdout]  --> src/game.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         Self {
[INFO] [stdout]   |         ^^^^ missing `is_game_over`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `is_game_over` in initializer of `game::Game`
[INFO] [stdout]  --> src/game.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |         Self {
[INFO] [stdout]   |         ^^^^ missing `is_game_over`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> src/eval.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn evaluate(board: &Board) -> i32 {
[INFO] [stdout]   |        --------                   ^^^ expected `i32`, found `()`
[INFO] [stdout]   |        |
[INFO] [stdout]   |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> src/eval.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn evaluate(board: &Board) -> i32 {
[INFO] [stdout]   |        --------                   ^^^ expected `i32`, found `()`
[INFO] [stdout]   |        |
[INFO] [stdout]   |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |         println!("{}", game.board); // display current board
[INFO] [stdout]    |                             ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 |         println!("{}", game.board); // display current board
[INFO] [stdout]    |                             ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_game_over` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |         if game.is_game_over() {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `is_game_over` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_game_over` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |         if game.is_game_over() {
[INFO] [stdout]    |                 ^^^^^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `is_game_over` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `result` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |             println!("Game Over: {:?}", game.result());
[INFO] [stdout]    |                                              ^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `result` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let side_to_move = game.board.side_to_move;
[INFO] [stdout]    |                                 ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `result` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 23 |             println!("Game Over: {:?}", game.result());
[INFO] [stdout]    |                                              ^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `result` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let side_to_move = game.board.side_to_move;
[INFO] [stdout]    |                                 ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:31:52
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let best_move = search_best_move(&game.board, 4); // depth 4
[INFO] [stdout]    |                                                    ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `board` of struct `game::Game` is private
[INFO] [stdout]   --> src/main.rs:31:52
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let best_move = search_best_move(&game.board, 4); // depth 4
[INFO] [stdout]    |                                                    ^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `make_move` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |             game.make_move(best_move);
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `make_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `make_move` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |             game.make_move(best_move);
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `make_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `make_move` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 |             game.make_move(user_move);
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `make_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_app` (bin "rust_app" test) due to 29 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `make_move` found for struct `game::Game` in the current scope
[INFO] [stdout]   --> src/main.rs:44:18
[INFO] [stdout]    |
[INFO] [stdout] 44 |             game.make_move(user_move);
[INFO] [stdout]    |                  ^^^^^^^^^ method not found in `game::Game`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/game.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | pub struct Game {
[INFO] [stdout]    | --------------- method `make_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_app` (bin "rust_app") due to 29 previous errors; 2 warnings emitted
[INFO] [stdout] Some errors have detailed explanations: E0063, E0255, E0277, E0308, E0425, E0432, E0433, E0583, E0599...
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0255, E0277, E0308, E0425, E0432, E0433, E0583, E0599...
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8", kill_on_drop: false }`
[INFO] [stdout] f9e6766a81a2ff1057f342584392ef1782f11baf4b0ef70b69c58970d66ce6b8
